import 'package:flutter/material.dart';
import 'package:hf_enjoy/pages/house/components/house_item.dart';
import 'package:hf_enjoy/utils/eventbus.dart';
import 'package:hf_enjoy/utils/http.dart';
import 'package:hf_enjoy/utils/toast.dart';

class HouseList extends StatefulWidget {
  const HouseList({super.key});

  @override
  State<HouseList> createState() => _HouseListState();
}

class _HouseListState extends State<HouseList> {

  List houseList = [];

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    getHouseList();

    eventBus.on<RefreshHouseList>().listen((event) {
       setState(() {
         houseList = [];
         getHouseList();
       });
    });
  }

void getHouseList()async{
  try {
    var res =await http.get("/room");
    if(res['code']!=10000) return ToastUtil.showError("获取数据失败");
    ToastUtil.showSuccess("数据获取成功");
    setState(() {
      houseList = res['data'];
    });
  } catch (e) {
    ToastUtil.showError("网络加载失败...");
  }
}


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color.fromARGB(255, 241, 238, 238),
      appBar: AppBar(
        title: const Text("我的房屋"),
        backgroundColor: Colors.transparent,
        centerTitle: true,
      ),
      body: houseList.isEmpty?Center(child: CircularProgressIndicator(),):Stack(
        children: [
          Padding(
            padding : const EdgeInsets.only(bottom: 80,left: 10,right: 10),
            child: ListView.separated(
              itemBuilder: (BuildContext context,int index){
                return  HouseItem(HouseInfo: houseList[index],);
              }, 
              separatorBuilder: (BuildContext context,int index){
                return Container(
                  height: 10,
                  color: const Color.fromARGB(255,241,238,238),
                );
              }, 
              itemCount: houseList.length),  
          ),
          Positioned(
            bottom: 0,
            left: 0,
            right: 0,
            child: Container(
              padding: const EdgeInsets.all(10),
              color: Colors.transparent,
              child: Row(children: [
                Expanded(
                  child: ElevatedButton(
                    onPressed: (){
                      Navigator.pushNamed(context, '/location_list');
                    }, 
                    child: const Column(children: [
                      SizedBox(height: 5),
                      Icon(Icons.add),
                      Text('添加房屋'),
                      SizedBox(height: 5),
                    ])))
              ])))
        ])
      );
  }
}